home *** CD-ROM | disk | FTP | other *** search
/ Sky at Night 2007 June / SAN CD 6-2007 CD-ROM 25.iso / pc / Software / AstroGrav_Win / Java / jre1.6.0 / lib / rt.jar / sun / print / PeekGraphics.class (.txt) < prev    next >
Encoding:
Java Class File  |  2006-11-29  |  10.2 KB  |  549 lines

  1. package sun.print;
  2.  
  3. import java.awt.Color;
  4. import java.awt.Composite;
  5. import java.awt.Font;
  6. import java.awt.FontMetrics;
  7. import java.awt.Graphics;
  8. import java.awt.Graphics2D;
  9. import java.awt.GraphicsConfiguration;
  10. import java.awt.Image;
  11. import java.awt.Paint;
  12. import java.awt.Rectangle;
  13. import java.awt.RenderingHints;
  14. import java.awt.Shape;
  15. import java.awt.Stroke;
  16. import java.awt.font.FontRenderContext;
  17. import java.awt.font.GlyphVector;
  18. import java.awt.font.TextLayout;
  19. import java.awt.geom.AffineTransform;
  20. import java.awt.geom.Line2D;
  21. import java.awt.geom.Rectangle2D;
  22. import java.awt.geom.RoundRectangle2D;
  23. import java.awt.image.BufferedImage;
  24. import java.awt.image.BufferedImageOp;
  25. import java.awt.image.ImageObserver;
  26. import java.awt.image.RenderedImage;
  27. import java.awt.image.renderable.RenderableImage;
  28. import java.awt.print.PrinterGraphics;
  29. import java.awt.print.PrinterJob;
  30. import java.text.AttributedCharacterIterator;
  31. import java.util.Map;
  32. import sun.java2d.Spans;
  33.  
  34. public class PeekGraphics extends Graphics2D implements PrinterGraphics, ImageObserver, Cloneable {
  35.    Graphics2D mGraphics;
  36.    PrinterJob mPrinterJob;
  37.    private Spans mDrawingArea = new Spans();
  38.    private PeekMetrics mPrintMetrics = new PeekMetrics();
  39.    private boolean mAWTDrawingOnly = false;
  40.  
  41.    public PeekGraphics(Graphics2D var1, PrinterJob var2) {
  42.       this.mGraphics = var1;
  43.       this.mPrinterJob = var2;
  44.    }
  45.  
  46.    public Graphics2D getDelegate() {
  47.       return this.mGraphics;
  48.    }
  49.  
  50.    public void setDelegate(Graphics2D var1) {
  51.       this.mGraphics = var1;
  52.    }
  53.  
  54.    public PrinterJob getPrinterJob() {
  55.       return this.mPrinterJob;
  56.    }
  57.  
  58.    public void setAWTDrawingOnly() {
  59.       this.mAWTDrawingOnly = true;
  60.    }
  61.  
  62.    public boolean getAWTDrawingOnly() {
  63.       return this.mAWTDrawingOnly;
  64.    }
  65.  
  66.    public Spans getDrawingArea() {
  67.       return this.mDrawingArea;
  68.    }
  69.  
  70.    public GraphicsConfiguration getDeviceConfiguration() {
  71.       return ((RasterPrinterJob)this.mPrinterJob).getPrinterGraphicsConfig();
  72.    }
  73.  
  74.    public Graphics create() {
  75.       PeekGraphics var1 = null;
  76.  
  77.       try {
  78.          var1 = (PeekGraphics)this.clone();
  79.          var1.mGraphics = (Graphics2D)this.mGraphics.create();
  80.       } catch (CloneNotSupportedException var3) {
  81.       }
  82.  
  83.       return var1;
  84.    }
  85.  
  86.    public void translate(int var1, int var2) {
  87.       this.mGraphics.translate(var1, var2);
  88.    }
  89.  
  90.    public void translate(double var1, double var3) {
  91.       this.mGraphics.translate(var1, var3);
  92.    }
  93.  
  94.    public void rotate(double var1) {
  95.       this.mGraphics.rotate(var1);
  96.    }
  97.  
  98.    public void rotate(double var1, double var3, double var5) {
  99.       this.mGraphics.rotate(var1, var3, var5);
  100.    }
  101.  
  102.    public void scale(double var1, double var3) {
  103.       this.mGraphics.scale(var1, var3);
  104.    }
  105.  
  106.    public void shear(double var1, double var3) {
  107.       this.mGraphics.shear(var1, var3);
  108.    }
  109.  
  110.    public Color getColor() {
  111.       return this.mGraphics.getColor();
  112.    }
  113.  
  114.    public void setColor(Color var1) {
  115.       this.mGraphics.setColor(var1);
  116.    }
  117.  
  118.    public void setPaintMode() {
  119.       this.mGraphics.setPaintMode();
  120.    }
  121.  
  122.    public void setXORMode(Color var1) {
  123.       this.mGraphics.setXORMode(var1);
  124.    }
  125.  
  126.    public Font getFont() {
  127.       return this.mGraphics.getFont();
  128.    }
  129.  
  130.    public void setFont(Font var1) {
  131.       this.mGraphics.setFont(var1);
  132.    }
  133.  
  134.    public FontMetrics getFontMetrics(Font var1) {
  135.       return this.mGraphics.getFontMetrics(var1);
  136.    }
  137.  
  138.    public FontRenderContext getFontRenderContext() {
  139.       return this.mGraphics.getFontRenderContext();
  140.    }
  141.  
  142.    public Rectangle getClipBounds() {
  143.       return this.mGraphics.getClipBounds();
  144.    }
  145.  
  146.    public void clipRect(int var1, int var2, int var3, int var4) {
  147.       this.mGraphics.clipRect(var1, var2, var3, var4);
  148.    }
  149.  
  150.    public void setClip(int var1, int var2, int var3, int var4) {
  151.       this.mGraphics.setClip(var1, var2, var3, var4);
  152.    }
  153.  
  154.    public Shape getClip() {
  155.       return this.mGraphics.getClip();
  156.    }
  157.  
  158.    public void setClip(Shape var1) {
  159.       this.mGraphics.setClip(var1);
  160.    }
  161.  
  162.    public void copyArea(int var1, int var2, int var3, int var4, int var5, int var6) {
  163.    }
  164.  
  165.    public void drawLine(int var1, int var2, int var3, int var4) {
  166.       this.addStrokeShape(new Line2D.Float((float)var1, (float)var2, (float)var3, (float)var4));
  167.       this.mPrintMetrics.draw(this);
  168.    }
  169.  
  170.    public void fillRect(int var1, int var2, int var3, int var4) {
  171.       this.addDrawingRect(new Rectangle2D.Float((float)var1, (float)var2, (float)var3, (float)var4));
  172.       this.mPrintMetrics.fill(this);
  173.    }
  174.  
  175.    public void clearRect(int var1, int var2, int var3, int var4) {
  176.       Rectangle2D.Float var5 = new Rectangle2D.Float((float)var1, (float)var2, (float)var3, (float)var4);
  177.       this.addDrawingRect(var5);
  178.       this.mPrintMetrics.clear(this);
  179.    }
  180.  
  181.    public void drawRoundRect(int var1, int var2, int var3, int var4, int var5, int var6) {
  182.       this.addStrokeShape(new RoundRectangle2D.Float((float)var1, (float)var2, (float)var3, (float)var4, (float)var5, (float)var6));
  183.       this.mPrintMetrics.draw(this);
  184.    }
  185.  
  186.    public void fillRoundRect(int var1, int var2, int var3, int var4, int var5, int var6) {
  187.       Rectangle2D.Float var7 = new Rectangle2D.Float((float)var1, (float)var2, (float)var3, (float)var4);
  188.       this.addDrawingRect(var7);
  189.       this.mPrintMetrics.fill(this);
  190.    }
  191.  
  192.    public void drawOval(int var1, int var2, int var3, int var4) {
  193.       this.addStrokeShape(new Rectangle2D.Float((float)var1, (float)var2, (float)var3, (float)var4));
  194.       this.mPrintMetrics.draw(this);
  195.    }
  196.  
  197.    public void fillOval(int var1, int var2, int var3, int var4) {
  198.       Rectangle2D.Float var5 = new Rectangle2D.Float((float)var1, (float)var2, (float)var3, (float)var4);
  199.       this.addDrawingRect(var5);
  200.       this.mPrintMetrics.fill(this);
  201.    }
  202.  
  203.    public void drawArc(int var1, int var2, int var3, int var4, int var5, int var6) {
  204.       this.addStrokeShape(new Rectangle2D.Float((float)var1, (float)var2, (float)var3, (float)var4));
  205.       this.mPrintMetrics.draw(this);
  206.    }
  207.  
  208.    public void fillArc(int var1, int var2, int var3, int var4, int var5, int var6) {
  209.       Rectangle2D.Float var7 = new Rectangle2D.Float((float)var1, (float)var2, (float)var3, (float)var4);
  210.       this.addDrawingRect(var7);
  211.       this.mPrintMetrics.fill(this);
  212.    }
  213.  
  214.    public void drawPolyline(int[] var1, int[] var2, int var3) {
  215.       if (var3 > 0) {
  216.          int var4 = var1[0];
  217.          int var5 = var2[0];
  218.  
  219.          for(int var6 = 1; var6 < var3; ++var6) {
  220.             this.drawLine(var4, var5, var1[var6], var2[var6]);
  221.             var4 = var1[var6];
  222.             var5 = var2[var6];
  223.          }
  224.       }
  225.  
  226.    }
  227.  
  228.    public void drawPolygon(int[] var1, int[] var2, int var3) {
  229.       if (var3 > 0) {
  230.          this.drawPolyline(var1, var2, var3);
  231.          this.drawLine(var1[var3 - 1], var2[var3 - 1], var1[0], var2[0]);
  232.       }
  233.  
  234.    }
  235.  
  236.    public void fillPolygon(int[] var1, int[] var2, int var3) {
  237.       if (var3 > 0) {
  238.          int var4 = var1[0];
  239.          int var5 = var2[0];
  240.          int var6 = var1[0];
  241.          int var7 = var2[0];
  242.  
  243.          for(int var8 = 1; var8 < var3; ++var8) {
  244.             if (var1[var8] < var4) {
  245.                var4 = var1[var8];
  246.             } else if (var1[var8] > var6) {
  247.                var6 = var1[var8];
  248.             }
  249.  
  250.             if (var2[var8] < var5) {
  251.                var5 = var2[var8];
  252.             } else if (var2[var8] > var7) {
  253.                var7 = var2[var8];
  254.             }
  255.          }
  256.  
  257.          this.addDrawingRect((float)var4, (float)var5, (float)(var6 - var4), (float)(var7 - var5));
  258.       }
  259.  
  260.       this.mPrintMetrics.fill(this);
  261.    }
  262.  
  263.    public void drawString(String var1, int var2, int var3) {
  264.       if (var1.length() != 0) {
  265.          this.drawTextLayout(new TextLayout(var1, this.getFont(), this.getFontRenderContext()), (float)var2, (float)var3);
  266.       }
  267.    }
  268.  
  269.    public void drawString(AttributedCharacterIterator var1, int var2, int var3) {
  270.       if (var1 == null) {
  271.          throw new NullPointerException("attributedcharacteriterator is null");
  272.       } else {
  273.          this.drawTextLayout(new TextLayout(var1, this.getFontRenderContext()), (float)var2, (float)var3);
  274.       }
  275.    }
  276.  
  277.    public void drawString(AttributedCharacterIterator var1, float var2, float var3) {
  278.       if (var1 == null) {
  279.          throw new NullPointerException("attributedcharacteriterator is null");
  280.       } else {
  281.          this.drawTextLayout(new TextLayout(var1, this.getFontRenderContext()), var2, var3);
  282.       }
  283.    }
  284.  
  285.    public boolean drawImage(Image var1, int var2, int var3, ImageObserver var4) {
  286.       if (var1 == null) {
  287.          return true;
  288.       } else {
  289.          ImageWaiter var5 = new ImageWaiter(this, var1);
  290.          this.addDrawingRect((float)var2, (float)var3, (float)var5.getWidth(), (float)var5.getHeight());
  291.          this.mPrintMetrics.drawImage(this, var1);
  292.          return this.mGraphics.drawImage(var1, var2, var3, var4);
  293.       }
  294.    }
  295.  
  296.    public boolean drawImage(Image var1, int var2, int var3, int var4, int var5, ImageObserver var6) {
  297.       if (var1 == null) {
  298.          return true;
  299.       } else {
  300.          this.addDrawingRect((float)var2, (float)var3, (float)var4, (float)var5);
  301.          this.mPrintMetrics.drawImage(this, var1);
  302.          return this.mGraphics.drawImage(var1, var2, var3, var4, var5, var6);
  303.       }
  304.    }
  305.  
  306.    public boolean drawImage(Image var1, int var2, int var3, Color var4, ImageObserver var5) {
  307.       if (var1 == null) {
  308.          return true;
  309.       } else {
  310.          ImageWaiter var6 = new ImageWaiter(this, var1);
  311.          this.addDrawingRect((float)var2, (float)var3, (float)var6.getWidth(), (float)var6.getHeight());
  312.          this.mPrintMetrics.drawImage(this, var1);
  313.          return this.mGraphics.drawImage(var1, var2, var3, var4, var5);
  314.       }
  315.    }
  316.  
  317.    public boolean drawImage(Image var1, int var2, int var3, int var4, int var5, Color var6, ImageObserver var7) {
  318.       if (var1 == null) {
  319.          return true;
  320.       } else {
  321.          this.addDrawingRect((float)var2, (float)var3, (float)var4, (float)var5);
  322.          this.mPrintMetrics.drawImage(this, var1);
  323.          return this.mGraphics.drawImage(var1, var2, var3, var4, var5, var6, var7);
  324.       }
  325.    }
  326.  
  327.    public boolean drawImage(Image var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, ImageObserver var10) {
  328.       if (var1 == null) {
  329.          return true;
  330.       } else {
  331.          int var11 = var4 - var2;
  332.          int var12 = var5 - var3;
  333.          this.addDrawingRect((float)var2, (float)var3, (float)var11, (float)var12);
  334.          this.mPrintMetrics.drawImage(this, var1);
  335.          return this.mGraphics.drawImage(var1, var2, var3, var4, var5, var6, var7, var8, var9, var10);
  336.       }
  337.    }
  338.  
  339.    public boolean drawImage(Image var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, Color var10, ImageObserver var11) {
  340.       if (var1 == null) {
  341.          return true;
  342.       } else {
  343.          int var12 = var4 - var2;
  344.          int var13 = var5 - var3;
  345.          this.addDrawingRect((float)var2, (float)var3, (float)var12, (float)var13);
  346.          this.mPrintMetrics.drawImage(this, var1);
  347.          return this.mGraphics.drawImage(var1, var2, var3, var4, var5, var6, var7, var8, var9, var10, var11);
  348.       }
  349.    }
  350.  
  351.    public void drawRenderedImage(RenderedImage var1, AffineTransform var2) {
  352.       if (var1 != null) {
  353.          this.mPrintMetrics.drawImage(this, var1);
  354.          this.mDrawingArea.addInfinite();
  355.       }
  356.    }
  357.  
  358.    public void drawRenderableImage(RenderableImage var1, AffineTransform var2) {
  359.       if (var1 != null) {
  360.          this.mPrintMetrics.drawImage(this, var1);
  361.          this.mDrawingArea.addInfinite();
  362.       }
  363.    }
  364.  
  365.    public void dispose() {
  366.       this.mGraphics.dispose();
  367.    }
  368.  
  369.    public void finalize() {
  370.    }
  371.  
  372.    public void draw(Shape var1) {
  373.       this.addStrokeShape(var1);
  374.       this.mPrintMetrics.draw(this);
  375.    }
  376.  
  377.    public boolean drawImage(Image var1, AffineTransform var2, ImageObserver var3) {
  378.       if (var1 == null) {
  379.          return true;
  380.       } else {
  381.          this.mDrawingArea.addInfinite();
  382.          this.mPrintMetrics.drawImage(this, var1);
  383.          return this.mGraphics.drawImage(var1, var2, var3);
  384.       }
  385.    }
  386.  
  387.    public void drawImage(BufferedImage var1, BufferedImageOp var2, int var3, int var4) {
  388.       if (var1 != null) {
  389.          this.mPrintMetrics.drawImage(this, var1);
  390.          this.mDrawingArea.addInfinite();
  391.       }
  392.    }
  393.  
  394.    public void drawString(String var1, float var2, float var3) {
  395.       if (var1.length() != 0) {
  396.          this.drawTextLayout(new TextLayout(var1, this.getFont(), this.getFontRenderContext()), var2, var3);
  397.       }
  398.    }
  399.  
  400.    public void drawGlyphVector(GlyphVector var1, float var2, float var3) {
  401.       Rectangle2D var4 = var1.getLogicalBounds();
  402.       this.addDrawingRect(var4, var2, var3);
  403.       this.mPrintMetrics.drawText(this);
  404.    }
  405.  
  406.    void drawTextLayout(TextLayout var1, float var2, float var3) {
  407.       this.addDrawingRect(var1.getBounds(), var2, var3);
  408.       this.mPrintMetrics.drawText(this, var1);
  409.    }
  410.  
  411.    public void fill(Shape var1) {
  412.       this.addDrawingRect(var1.getBounds());
  413.       this.mPrintMetrics.fill(this);
  414.    }
  415.  
  416.    public boolean hit(Rectangle var1, Shape var2, boolean var3) {
  417.       return this.mGraphics.hit(var1, var2, var3);
  418.    }
  419.  
  420.    public void setComposite(Composite var1) {
  421.       this.mGraphics.setComposite(var1);
  422.    }
  423.  
  424.    public void setPaint(Paint var1) {
  425.       this.mGraphics.setPaint(var1);
  426.    }
  427.  
  428.    public void setStroke(Stroke var1) {
  429.       this.mGraphics.setStroke(var1);
  430.    }
  431.  
  432.    public void setRenderingHint(RenderingHints.Key var1, Object var2) {
  433.       this.mGraphics.setRenderingHint(var1, var2);
  434.    }
  435.  
  436.    public Object getRenderingHint(RenderingHints.Key var1) {
  437.       return this.mGraphics.getRenderingHint(var1);
  438.    }
  439.  
  440.    public void setRenderingHints(Map<?, ?> var1) {
  441.       this.mGraphics.setRenderingHints(var1);
  442.    }
  443.  
  444.    public void addRenderingHints(Map<?, ?> var1) {
  445.       this.mGraphics.addRenderingHints(var1);
  446.    }
  447.  
  448.    public RenderingHints getRenderingHints() {
  449.       return this.mGraphics.getRenderingHints();
  450.    }
  451.  
  452.    public void transform(AffineTransform var1) {
  453.       this.mGraphics.transform(var1);
  454.    }
  455.  
  456.    public void setTransform(AffineTransform var1) {
  457.       this.mGraphics.setTransform(var1);
  458.    }
  459.  
  460.    public AffineTransform getTransform() {
  461.       return this.mGraphics.getTransform();
  462.    }
  463.  
  464.    public Paint getPaint() {
  465.       return this.mGraphics.getPaint();
  466.    }
  467.  
  468.    public Composite getComposite() {
  469.       return this.mGraphics.getComposite();
  470.    }
  471.  
  472.    public void setBackground(Color var1) {
  473.       this.mGraphics.setBackground(var1);
  474.    }
  475.  
  476.    public Color getBackground() {
  477.       return this.mGraphics.getBackground();
  478.    }
  479.  
  480.    public Stroke getStroke() {
  481.       return this.mGraphics.getStroke();
  482.    }
  483.  
  484.    public void clip(Shape var1) {
  485.       this.mGraphics.clip(var1);
  486.    }
  487.  
  488.    public boolean hitsDrawingArea(Rectangle var1) {
  489.       return this.mDrawingArea.intersects((float)var1.getMinY(), (float)var1.getMaxY());
  490.    }
  491.  
  492.    public PeekMetrics getMetrics() {
  493.       return this.mPrintMetrics;
  494.    }
  495.  
  496.    private void addDrawingRect(Rectangle2D var1, float var2, float var3) {
  497.       this.addDrawingRect((float)(var1.getX() + (double)var2), (float)(var1.getY() + (double)var3), (float)var1.getWidth(), (float)var1.getHeight());
  498.    }
  499.  
  500.    private void addDrawingRect(float var1, float var2, float var3, float var4) {
  501.       Rectangle2D.Float var5 = new Rectangle2D.Float(var1, var2, var3, var4);
  502.       this.addDrawingRect(var5);
  503.    }
  504.  
  505.    private void addDrawingRect(Rectangle2D var1) {
  506.       AffineTransform var2 = this.getTransform();
  507.       Shape var3 = var2.createTransformedShape(var1);
  508.       Rectangle2D var4 = var3.getBounds2D();
  509.       this.mDrawingArea.add((float)var4.getMinY(), (float)var4.getMaxY());
  510.    }
  511.  
  512.    private void addStrokeShape(Shape var1) {
  513.       Shape var2 = this.getStroke().createStrokedShape(var1);
  514.       this.addDrawingRect(var2.getBounds2D());
  515.    }
  516.  
  517.    public synchronized boolean imageUpdate(Image var1, int var2, int var3, int var4, int var5, int var6) {
  518.       boolean var7 = false;
  519.       if ((var2 & 3) != 0) {
  520.          var7 = true;
  521.          this.notify();
  522.       }
  523.  
  524.       return var7;
  525.    }
  526.  
  527.    private synchronized int getImageWidth(Image var1) {
  528.       while(var1.getWidth(this) == -1) {
  529.          try {
  530.             this.wait();
  531.          } catch (InterruptedException var3) {
  532.          }
  533.       }
  534.  
  535.       return var1.getWidth(this);
  536.    }
  537.  
  538.    private synchronized int getImageHeight(Image var1) {
  539.       while(var1.getHeight(this) == -1) {
  540.          try {
  541.             this.wait();
  542.          } catch (InterruptedException var3) {
  543.          }
  544.       }
  545.  
  546.       return var1.getHeight(this);
  547.    }
  548. }
  549.